﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Configuration;
using CG67.EspaceRencontre.Outils;

namespace CG67.EspaceRencontre.AccesDonnees
{
    public class TravailleurSocialDB
    {
        #region Attributs
        /// <summary>
        /// chaine de connexion figurant dans le fichier Web.config
        /// </summary>
        private static ConnectionStringSettings connexionString = ConfigurationManager.ConnectionStrings["connexionEspaceRencontre"];
        #endregion

        #region GetAllTravailleurs
        /// <summary>
        /// recupère la liste de tous les travailleurs sociaux actifs
        /// </summary>
        /// <returns><c>DataSet</c></returns>
        public static DataSet GetAllTravailleurs()
        {            
            String query = "SELECT * FROM TRAVAILLEURSOCIAL WHERE ACTIF = true";
            DataSet res = BaseDeDonnee.BuildDataSet(query, connexionString);
            return res;
        }
        #endregion

        #region GetTravailleurSocialById
        /// <summary>
        /// recupère le travailleur correspondant à l'identifiant entré
        /// </summary>
        /// <param name="id"><c>int</c> : identifiant du travailleur</param>
        /// <returns><c>DataSet</c></returns>
        public static DataSet GetTravailleurSocialById(int id)
        {            
            String query = "SELECT * FROM TRAVAILLEURSOCIAL WHERE ID ='" + id + "'";
            DataSet res = BaseDeDonnee.BuildDataSet(query, connexionString);
            return res;
        }
        #endregion

        #region GetAllTravailleursInactifs
        /// <summary>
        /// recupère la liste de tous les travailleurs sociaux inactifs
        /// </summary>
        /// <returns><c>DataSet</c></returns>
        public static DataSet GetAllTravailleursInactifs()
        {            
            String query = "SELECT * FROM TRAVAILLEURSOCIAL WHERE ACTIF = false";
            DataSet res = BaseDeDonnee.BuildDataSet(query, connexionString);
            return res;
        }
        #endregion

        #region DeleteTravailleurSocial
        /// <summary>
        /// rend un travailleur social inactif
        /// </summary>
        /// <param name="id"><c>int</c> : identifiant du travailleur social</param>
        public static void DeleteTravailleurSocial(int id)
        {
            BaseDeDonnee.ExecuteNonQuery("UPDATE TRAVAILLEURSOCIAL SET [ACTIF] ='false' WHERE ID='" + id + "'", connexionString);
        }
        #endregion

        #region UpdateTravailleurSocial
        /// <summary>
        /// màj un travailleur social
        /// </summary>
        /// <param name="id"><c>int</c> : identifiant du travailleur social</param>
        /// <param name="nom"><c>String</c> : nom du travailleur social</param>
        /// <param name="prenom"><c>String</c> : prénom du travailleur social</param>
        /// <param name="mail"><c>String</c> : mail du travailleur social</param>
        /// <param name="telephone"><c>String</c> : numéro de téléphone du travailleur social</param>
        public static void UpdateTravailleurSocial(int id, String nom, String prenom, String mail, String telephone)
        {            
            BaseDeDonnee.ExecuteNonQuery("UPDATE TRAVAILLLEURSOCIAL SET [NOM]='" + nom + "', [PRENOM]='" + prenom + "', [MAIL]='" + mail + "', [telephone]='" + telephone + "' WHERE ID='" + id + "'", connexionString);
        }
        #endregion

        #region CreateTravailleurSocial
        /// <summary>
        /// ajoute un travailleur social à la BDD
        /// </summary>
        /// <param name="nom"><c>String</c> : nom du travailleur social</param>
        /// <param name="prenom"><c>String</c> : prénom du travailleur social</param>
        /// <param name="mail"><c>String</c> : mail du travailleur social</param>
        /// <param name="telephone"><c>String</c> : numéro de téléphone du travailleur social</param>
        public static void CreateTravailleurSocial(String nom, String prenom, String mail, String telephone)
        {
            BaseDeDonnee.ExecuteNonQuery("INSERT INTO TRAVAILLEURSOCIAL ([NOM], [PRENOM], [MAIL], [TELEPHONE]), values ('" + nom + "','" + prenom + "','" + mail + "','" + telephone + "')", connexionString);
        }
        #endregion

        #region ReactivateTravailleurSocial
        /// <summary>
        /// rend un travailleur social à nouveau actif
        /// </summary>
        /// <param name="id"><c>int</c> : identifiant du travailleur social</param>
        public static void ReactivateTravailleurSocial(int id)
        {
            BaseDeDonnee.ExecuteNonQuery("UPDATE TRAVAILLEURSOCIAL SET [ACTIF] ='true' WHERE ID='" + id + "'", connexionString);
        }
        #endregion
    }
}
